This disclosure relates to performing recognition processes in parallel.
A state machine may be used to recognize an unknown input, examples of which include speech, handwriting, and optical character(s). In the speech recognition example, a state machine determines a sequence of known states representing sounds that that best matches input speech. This best-matched sequence is deemed to be the state machine's hypothesis for transcription of the input speech.
During the speech recognition process, each state in the state machine receives the best incoming path to that state (e.g., the incoming path with the lowest cost), determines how good a match incoming audio is to itself, produces a result called the “state matching cost”, and outputs data corresponding to this result to successor state(s). The combination of state matching costs with the lowest cost incoming path is referred to as the “path cost”. The path with the lowest path cost may be selected as the best-matched sequence for the input speech.
In parallel recognition systems, the states of a state machine are distributed across a set of parallel processing entities (e.g., computers). However, in such systems, if any one processing entity lags, processing performed by other entities, which depends on that entity's output, is delayed. As a result, there is a delay in determining the best-matched sequence for the input speech.